Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - [VB6] Confrontare audio con audio da file
Forum - Visual Basic 6 - [VB6] Confrontare audio con audio da file

Avatar
erosmax (Normal User)
Newbie


Messaggi: 5
Iscritto: 04/06/2012

Segnala al moderatore
Postato alle 13:18
Lunedì, 04/06/2012
Salve, per prima cosa ciao a tutti. Sono nuovo in questo forum. :k:
Ora espongo le mia richiesa. :)
Avrei bisogno di un aiuto per come poter far confrontare un audio che ho salvato sull'HD con uno proveniente dal PC.
Mi spiego meglio:
Ho un file audio sul mio PC che leggo in Binario.
Vorrei che, all'esecuzione del mio programma, questo confronti il file (o parte) con un audio proveniene dagli altoparlanti (es:player web o musica sottofonfo) e mi dica se sono uguali (Es: una parte di canzone, oppure una frase di un personaggio).

Grazie per l'aiuto.

Ultima modifica effettuata da erosmax il 04/06/2012 alle 13:22
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 18:34
Lunedì, 04/06/2012
Quello che chiedi è molto più complesso di quello che tu possa pensare.

Devi ottenere le informazioni audio (sampling) e normalizzarle per rate di acquisizione e ampiezza.

Poi dovresti calcolarne la densità spettrale (ESD) e poi misurare il MSE (mean squared error) ...

Nulla di tutto ciò è fattibile in realtime con VB6 ...

PM Quote
Avatar
erosmax (Normal User)
Newbie


Messaggi: 5
Iscritto: 04/06/2012

Segnala al moderatore
Postato alle 18:44
Lunedì, 04/06/2012
Purtroppo lo so che è molto complicato.... ma non impossibile!
Io avevo trovato qualche esempio, che poteva fare al caso mio... ma dovrei studiarmelo mooolto a fondo.
Se non esiste nulla di più semplice, allora vorrà dire che il mio software attenderà parecchio prima di completarsi. :P
Ecco il link del sorgente free scaricabile:

AudioCardDSP by F. Languasco:
Acquisisce i segnali provenienti dalla scheda audio e li invia agli strumenti di analisi.

http://www.it-lang-vb.net/Archivio/Sorgenti/AudioCardDSP.Z ...

PS: Se non potevo linkare, cancellate e scusate!

Ultima modifica effettuata da erosmax il 04/06/2012 alle 18:48
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 22:55
Lunedì, 04/06/2012
Quel codice, come da titolo, "acquisisce i segnali e li invia agli strumenti". Ma non fa confronti, no ?

PM Quote
Avatar
erosmax (Normal User)
Newbie


Messaggi: 5
Iscritto: 04/06/2012

Segnala al moderatore
Postato alle 10:12
Martedì, 05/06/2012
Infatti! Non fa confronti ma... come invia agli strumenti, si potrebbe inviare ad un confronto.
Devo studiare bene il codice e capire come fare il confronto.
Altrimenti, potrei caricare il file registrato ed "inviarlo agli strumenti" (quindi dovrebbe esserci un posto dove questi dati sono appoggiati) e confrontarli con gli stessi dell'audio in real-time! :k:
Insomma, alle brutte, confrontare la banda d'onda... ma, è probabile, che si potrà fare anche "binariamente". :D
Ancora non gli ho dato un occhiata approfondita al sorgente, ma solamente testato se faceva quello a cui ero interessato... spero di riuscire nella cosa, anche se il tempo è assai tiranno per dedicarmene! :(
Ciao.

Ultima modifica effettuata da erosmax il 05/06/2012 alle 10:14
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 10:32
Martedì, 05/06/2012
Testo quotato

Postato originariamente da erosmax:

Infatti! Non fa confronti ma... come invia agli strumenti, si potrebbe inviare ad un confronto.



Ma che c'entra? Inviare significa "passare dei dati", per confrontarli ci vogliono degli "algoritmi" ben precisi ... Le due cose sono completamente diverse ...

Testo quotato

Devo studiare bene il codice e capire come fare il confronto.



Allora non mi sono spiegato ... è inutile che studi quel codice ...

Testo quotato

si potrà fare anche "binariamente".



Va beh ... ho capito ... buona fortuna ...

PM Quote
Avatar
erosmax (Normal User)
Newbie


Messaggi: 5
Iscritto: 04/06/2012

Segnala al moderatore
Postato alle 11:29
Martedì, 05/06/2012
Mai dire mai!.
Tu insisti nel dire che non è  fattibile in VB6! :nono:
Infatti, ho chiesto aiuto in questo forum per poter vedere se qualcuno aveva qualche idea in merito ma ho ricevuto solo pareri negativi (per ora solo da te ;) ).
Vabbene! Io non critico nessuno, per carità! ;)
Tu sei libero di pensarla in questo modo ma io, non mi fermo davanti a nulla.
Non capisco.
Forse sarò io un nubbio ma... nella forms dell'Oscilloscopio è presente un Command "Store", che serve a campionare l'audio in entrata, e un Command "Replay Store" che visualizza ciò che è stato catturato!
Nel sorgente della form frmOScopio c'è quello che interessa.
Da qui, in Generale è dichiarato un vettoree Tracce&() che andrebbe a contenere i dati registrati.
Ora, se io pongo un tempo max di registrazione in real-time (tipo 1-2 sec per riconoscere una voce, o controllo solo quello durante l'intero processo di acquisizione) e Confronto (datiVettoreA = datiVettoreB) il Vettore con un'altro vettore in cui ho caricato precedentemente il mio piccolo audio registrato (o meglio, carico i dati da un file con i dati del vettore salvato in precedenza e, al partire del programma, lo ricarico con gli stessi)... dovrei aver trovato quello che mi serve, perché nessun dato sarà diverso se il sorgente è lo stesso!!!! :pat:
Ripeto il suono è lo stesso!!!!
Comunque, grazie per gli auguri di buona fortuna! :D:k:

Ultima modifica effettuata da erosmax il 05/06/2012 alle 11:42
PM Quote